home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 43 / Amiga Format CD43 (1999)(Future Publishing)(GB)(Track 1 of 2)[!][issue 1999-09].iso / -websites- / wirenet / files / amiftp-1.843.lha / AmiFTP / Install_AmiFTP < prev    next >
Text File  |  1997-09-29  |  34KB  |  764 lines

  1. ;******************************************************************************
  2. ;      ____           __  ______ ______ ______
  3. ;     / __ \         /_/ / ____//_  __// __  /
  4. ;    / /_/ /_   _   __  / /_     / /  / /_/ /
  5. ;   / __  // \_/ \ / / / __/    / /  / ____/
  6. ;  / / / // /__/ // / / /      / /  / /
  7. ; /_/ /_//_/  /_//_/ /_/      /_/  /_/
  8. ;
  9. ; $VER: AmiFTP_Install 1.797 (November-06-1996)
  10. ; AmiFTP ©1995,1996 by Magnus Lilja
  11. ; AmiFTP Installer ©1995,1996 by Robert C. Reiswig
  12. ;
  13. ; If you wish to use any part of this installer you must ask. May not be 
  14. ; integrated/placed into any other package! Changes, suggestions or problems:
  15. ; amiftp@vgr.com or rcr@netcom.com
  16. ;******************************************************************************
  17.  
  18. (set install-CA 0) ; 0 = No, 1 = Yes
  19. ;*** System Stuff ***
  20. (set cpu (database "cpu"))  (set vblank (database "vblank"))
  21. (set graphmem (database "graphics-mem")) (set totmem (database "total-mem"))
  22. (set osver (/ (getversion "LIBS:version.library") 65536))
  23. (if (= vblank "60") ((set blank "NTSC")) ((set blank "PAL")))
  24. (set fastmem (- totmem graphmem))
  25.  
  26. ( if (= osver 37) ( (set workbench "2.0")) ( if (= osver 38) ( (set workbench "2.1"))
  27. ( if (= osver 39) ( (set workbench "3.0")) ( if (= osver 40) ( (set workbench "3.1"))
  28. ( if (= osver 41) ( (set workbench "3.2")) )))))
  29.  
  30. (set vernum1 (getversion "AmiFTP"))
  31. (set ver1 (/ vernum1 65536)) (set rev1 (- vernum1 (* ver1 65536) ) )
  32. (set amiftpver (cat ver1 "." rev1))
  33. (set keeper 1) (set prefsfound 0)
  34.  
  35. ;********************************************************************
  36. ; English Strings
  37. ;********************************************************************
  38. (set #about (cat "\n\nWelcome to\n\nAmiFTP " amiftpver "\n\n©1995, 1996 by\n\nMagnus Lilja\n\nlilja@lysator.liu.se") )
  39. (set #whattcp "\nPlease select the Networking package you run.\n")
  40. (set #whereamiftp "Where do you wish to install AmiFTP. No directory will be created! If there is a copy of AmiFTP there the installer will back it up.")
  41. (set #backuptoXXX "Back-UP to file named 'AmiFTP")
  42. (set #copyover "Copy Over Old Version")
  43. (set #amiftpfound "\nThe Installer has found a copy of AmiFTP already installed. What do you want to do?\n")
  44. (set #newicon "\nDo you wish to copy over The AmiFTP Icon from the archive? If you have any ToolTypes already set you should select no.\n")
  45. (set #nonewicon  "No  - ToolTypes already set.")
  46. (set #yesnewicon "Yes - Copy over Icon.")
  47. (set #whatcat "\nSelect the AmiFTP Language catalog you wish to install.\n")
  48. (set #wherecat "\nWhere do you wish to install the AmiFTP Language Catalog? Default is Locale:Catalogs/")
  49. (set #catmore "\nWould you like to install another AmiFTP Language Catalog?\n")
  50. (set #yes " Yes")
  51. (set #no " No")
  52. (set #catnofind "Can not find this catalog in this AmiFTP archive. You may need to get a updated or newer archive from the support site.")
  53. (set #otherdir "Other Directory")
  54. (set #instdefprefs "Yes - Install Example Prefs File")
  55. (set #instdefprefsn "No  - Don't Install Example Prefs File")
  56. (set #instprefsfile "The installer did not find the AmiFTP.Prefs file in:\n")
  57. (set #wouldprefs "\nWould you like to install an Example Prefs file?")
  58. (set #putprefs "\nWhere would you like to install the AmiFTP.prefs example file?\n")
  59. (set #whatdocs "\nWhat AmiFTP documentation would you like to install?\n")
  60. (set #wheredocs "Where would you like the AmiFTP documentation you selected to be installed?")
  61.  
  62. (set #byebye (cat "\nAmiFTP Install Complete!\n\n(If you wish to make your own Language Catalog "
  63.               "a sample 'NewCatalog.ct' can be found in the 'Catalog' directory in the archive.)\n\n"
  64. ))
  65. (set #classact "\n\n\nThe following is the default Install/Update Installer\n\nProcedure for placing ClassAct on your System.")
  66. (set #updateinstaller "\nJust to let you know ESCOM AG has released a new version of the installer program.\n\n\nVersion 43.3 can be found on Aminet in:\n\n/util/misc/Installer-43_3.lha\n\n\nYou might want to upgrade soon, if you can.")
  67.  
  68. ;***********************************************************************
  69. ; Spanish string by Jose Roberto Gonzalez Rocha <alu756@csi.ull.es>
  70. ;***********************************************************************
  71. (if (= @language "español")
  72.  (
  73.   (set #about (cat "\n\nBienvenido a\n\nAmiFTP " amiftpver "\n\n©1995, 1996 por\n\nMagnus Lilja\n\nlilja@lysator.liu.se") )
  74.   (set #whattcp "\nPor favor, seleccione el paquete de red que utilize.\n")
  75.   (set #whereamiftp "¿Dónde desea instalar AmiFTP?. ¡No será creado ningún directorio! Si huy una copia de AmiFTP ahí, el instalador hará una copia de seguridad.")
  76.   (set #backuptoXXX "Copia de seguridad al fichero llamado 'AmiFTP")
  77.   (set #copyover "Copiar sobre la versión antigua")
  78.   (set #amiftpfound "\nEl Instalador ha encontrado una copia de AmiFTP actualmente instalada. ¿Qué quiere hacer?\n")
  79.   (set #newicon "\n¿Desea copiar sobre el icono de AmiFTP desde el archivo? Si tiene algún Tipo de Herramienta actualmente puesto debería seleccionar no.\n")
  80.   (set #nonewicon  "No - Tipos de Herramientas actualmente puestos.")
  81.   (set #yesnewicon "Sí - Copiar sobre el icono.")
  82.   (set #whatcat "\nSeleccione el catálogo de lenguaje de AmiFTP que desea instalar.\n")
  83.   (set #wherecat "\n¿Dónde desea instalar el catálogo de lenguaje de AmiFTP? Por defecto es Locale:Catalogs/")
  84.   (set #catmore "\n¿Desea instalar otro catálogo de lenguaje de AmiFTP?\n")
  85.   (set #yes " Sí")
  86.   (set #no " No")
  87.   (set #catnofind "No puedo encontrar este catálogo en este archive de AmiFTP. Podría necesitar un archivo actualizado o más reciente de AmiFTP del sitio de soporte.")
  88.   (set #otherdir "Otro Directorio")
  89.   (set #instdefprefs "Sí - Instalar el fichero ejemplo de ajustes")
  90.   (set #instdefprefsn "No  - No instalar el fichero ejemplo de ajustes")
  91.   (set #instprefsfile "El instalador no encontró el fichero AmiFTP.Prefs en:\n")
  92.   (set #wouldprefs "\n¿Le gustaría instalar el fichero ejemplo de ajustes?")
  93.   (set #putprefs "\n¿Dónde desea instalar el fichero ejemplo de ajustes AmiFTP.Prefs?\n")
  94.   (set #whatdocs "\n¿Qué documentación de AmiFTP desea instalar?\n")
  95.   (set #wheredocs "¿Dónde desea instalar la documentación que ha seleccionado?")
  96.  
  97.   (set #byebye (cat "\n¡Instalación de AmiFTP Completa!\n\n(Si desea hacer su propio Catálogo de Lenguaje "
  98.                     "puede encontrar un fichero ejemplo 'NewCatalog.ct' en el directorio 'Catalog' en el archivo.)\n\n"
  99.   ))
  100.   (set #classact "\n\n\nA continuación viene el procedimiento de\ninstalación estándar de Instalación/Actualización\npara colocar ClassAct en su sistema.")
  101.   (set #updateinstaller "\nLe informamos de que ESCOM AG ha lanzado una nueva veri¢n del programa instalador.\n\nLa versi¢n 43.3 puede ser encontrada en Aminet en:\n\n/util/misc/Installer-43_3.lha\n\nDeber¡a actualizarse lo antes posible.")
  102.  )
  103. )
  104.  
  105. ;********************************************************************
  106. ; Hello
  107. ;********************************************************************
  108. (message #about)
  109. (welcome) 
  110.  
  111. ;********************************************************************
  112. ; What Networking Package
  113. ;********************************************************************
  114. (set guesspackage 4) 
  115.  
  116. (if (<> (getassign "Inet") "")
  117.  (
  118.    (set guesspackage 1)
  119.    (if (exists "Inet:libs/inet.library")
  120.      (if (> (/ (getversion "Inet:libs/inet.library") 65536) 6)  (set guesspackage 2) )
  121.    )
  122.  
  123.    ;(if (exists "ENV:TCPIP/TCPIPPath")
  124.    ;   (
  125.    ;    (set cprpath (getenv "ENV:TCPIP/TCPIPPath"))
  126.    ;    (if (= cprpath (getassign "Inet")) (set guesspackage 3)) 
  127.    ;   )
  128.    ;)
  129.  
  130.  )
  131. )
  132.  
  133. (if (<> (getassign "AmiTCP") "") (set guesspackage 0))
  134. (if (= guesspackage 0)  (set TCP 0)   (set TCP 1)  )
  135.  
  136. (if (= guesspackage 0) ( (set Package "AmiTCP:") ) (set #tcpack "AmiTCP (3.0b2, 4.x)") ) 
  137. (if (= guesspackage 1) ( (set Package "Inet:") )   (set #tcpack "AS225 R2") ) 
  138. (if (= guesspackage 2) ( (set Package "Inet:") )   (set #tcpack "I-Net 225") )  
  139. (if (= guesspackage 3) ( (set Package "Inet:") )   (set #tcpack "CPR TCP/IP") )
  140. (if (= guesspackage 4) ( (set Package "Inet:") )   (set #tcpack "MultiLink (Mlink)") )
  141.  
  142. ;********************************************************************
  143. ; Ask where to put AmiFTP 
  144. ;********************************************************************
  145. (set amiftpdir (askdir (prompt (cat #whereamiftp " "  "" ))
  146.                (help   (cat #whereamiftp " "  "" ))
  147.                     (default Package)
  148.                 )  
  149. )
  150.  
  151.  
  152. (set where amiftpdir)
  153. (set @default-dest where)
  154.  
  155. ;********************************************************************
  156. ; Check for old & backup
  157. ;********************************************************************
  158. (if (exists (tackon where "AmiFTP")) 
  159.   (
  160.       (set vernum1 (getversion (tackon where "AmiFTP") ))
  161.       (set ver1 (/ vernum1 65536)) (set rev1 (- vernum1 (* ver1 65536) ) )
  162.       (set amiftpver_old (cat ver1 "." rev1))
  163.  
  164.       (set keeper  (askchoice (choices  (cat #backuptoXXX amiftpver_old "'")  #copyover)
  165.                      (prompt #amiftpfound)
  166.                  (help   #amiftpfound)
  167.                      (default 0)
  168.                )
  169.       )    
  170.  
  171.  
  172.       (if (= keeper 0)
  173.          (copyfiles (source (tackon where "AmiFTP"))
  174.                      (dest where) 
  175.                      (infos)
  176.                      (newname (cat "AmiFTP" amiftpver_old))
  177.          )
  178.       )          
  179.  
  180.     
  181.   )
  182. )
  183.  
  184. ;********************************************************************
  185. ; Copy over correct AmiFTP and Icon if wanted
  186. ;********************************************************************
  187.    (copyfiles (source "AmiFTP")
  188.               (dest amiftpdir) 
  189.               (if (= keeper 1) (infos) )
  190.               (optional "askuser" "force" "nofail")
  191.    )
  192.  
  193.  
  194.  
  195. (if (= keeper 0) 
  196.   (
  197.    (set newicon (askchoice (choices #nonewicon #yesnewicon)
  198.                            (prompt #newicon)
  199.                        (help   #newicon)
  200.                            (default 0)
  201.             )
  202.    )
  203.    
  204.    (if (= newicon 1) (copyfiles (source "AmiFTP.info") (dest amiftpdir) (optional "nofail") ))
  205.  
  206.  
  207.   )
  208.  
  209. )
  210.  
  211. ;********************************************************************
  212. ; Select and copy over Catalog
  213. ;********************************************************************
  214. (set XX 0) (set lan 0)
  215.  
  216. (foreach "Catalogs" "#?"
  217.  (
  218.   (set XX (+ XX 1)) 
  219.   (textfile (dest (cat "ENV:i.høld." XX)) (append @each-name) ) 
  220.   (if (= lanfound @each-name) (set lan XX))
  221.  
  222.   (if (= (patmatch "#?.c#?" @each-name) 1) 
  223.      ( (delete (cat "ENV:i.høld." XX)) (set XX (- XX 1))  )
  224.   )
  225.  
  226.  )
  227. )
  228.  
  229. (set l1 "N/A") (set l2 "N/A") (set l3 "N/A") (set l4 "N/A") (set l5 "N/A")
  230. (set l6 "N/A") (set l7 "N/A") (set l8 "N/A") (set l9 "N/A") (set l10 "N/A")
  231. (set l11 "N/A") (set l12 "N/A") (set l13 "N/A") (set l14 "N/A") (set l15 "N/A") 
  232.  
  233. (set l0 "English")
  234. (if (> (exists ("ENV:i.høld.1")) 0)   (set l1 (getenv "ENV:i.høld.1")) )
  235. (if (> (exists ("ENV:i.høld.2")) 0)   (set l2 (getenv "ENV:i.høld.2")) )
  236. (if (> (exists ("ENV:i.høld.3")) 0)   (set l3 (getenv "ENV:i.høld.3")) )
  237. (if (> (exists ("ENV:i.høld.4")) 0)   (set l4 (getenv "ENV:i.høld.4")) )
  238. (if (> (exists ("ENV:i.høld.5")) 0)   (set l5 (getenv "ENV:i.høld.5")) )
  239. (if (> (exists ("ENV:i.høld.6")) 0)   (set l6 (getenv "ENV:i.høld.6")) )
  240. (if (> (exists ("ENV:i.høld.7")) 0)   (set l7 (getenv "ENV:i.høld.7")) )
  241. (if (> (exists ("ENV:i.høld.8")) 0)   (set l8 (getenv "ENV:i.høld.8")) )
  242. (if (> (exists ("ENV:i.høld.9")) 0)   (set l9 (getenv "ENV:i.høld.9")) )
  243. (if (> (exists ("ENV:i.høld.10")) 0) (set l10 (getenv "ENV:i.høld.10")) )
  244. (if (> (exists ("ENV:i.høld.11")) 0) (set l11 (getenv "ENV:i.høld.11")) )
  245. (if (> (exists ("ENV:i.høld.12")) 0) (set l12 (getenv "ENV:i.høld.12")) )
  246. (if (> (exists ("ENV:i.høld.12")) 0) (set l13 (getenv "ENV:i.høld.13")) )
  247. (if (> (exists ("ENV:i.høld.14")) 0) (set l14 (getenv "ENV:i.høld.14")) )
  248. (if (> (exists ("ENV:i.høld.15")) 0) (set l15 (getenv "ENV:i.høld.15")) )
  249. (if (> (exists ("ENV:i.høld.16")) 0) (set l15 (getenv "ENV:i.høld.16")) )
  250. (run "delete env:i.høld.#?")
  251.  
  252. (procedure anothercat
  253.  
  254. (set catalog (askchoice (choices l0 l1 l2 l3 l4 l5 l6 l7 l8 l9 l10)            
  255.                         (prompt #whatcat)
  256.                     (help   #whatcat)
  257.                         (default lan)
  258.              )
  259. )
  260.  
  261. (if (= catalog 0)  (set #lcat l0))  (if (= catalog 2)  (set #lcat l2))  (if (= catalog 3)  (set #lcat l3))  
  262. (if (= catalog 4)  (set #lcat l4))  (if (= catalog 5)  (set #lcat l5))  (if (= catalog 5)  (set #lcat l5))
  263. (if (= catalog 6)  (set #lcat l6))  (if (= catalog 7)  (set #lcat l7))  (if (= catalog 8)  (set #lcat l8))  
  264. (if (= catalog 9)  (set #lcat l9))  (if (= catalog 10) (set #lcat l10)) (if (= catalog 11) (set #lcat l11))
  265. (if (= catalog 12) (set #lcat l12)) (if (= catalog 13) (set #lcat l13)) (if (= catalog 14) (set #lcat l14)) 
  266. (if (= catalog 15) (set #lcat l15)) (if (= catalog 16) (set #lcat l16))
  267.  
  268.  
  269. (if (AND (<> catalog 0) (<> #lcat "N/A"))
  270.  (
  271.   (if (> (exists (cat "Catalogs/" #lcat "/AmiFTP.catalog")) 0)
  272.     (
  273.         (set wherecat  (askchoice (choices (tackon where (cat "Catalogs/" #lcat)) (cat "Locale:Catalogs/" #lcat) )
  274.                                   (prompt (cat #wherecat (tackon where (cat "Catalogs/" #lcat)) "\n"))
  275.                             (help   #wherecat)
  276.                                (default 0)
  277.                        )  
  278.         )
  279.  
  280.       (if (= wherecat 1)
  281.         (
  282.          (if (< (exists "Locale:") 2) ( (makedir "sys:Locale") (makeassign "Locale" "sys:Locale") ) )
  283.          (if (< (exists "Locale:Catalogs") 2) (makedir "sys:Locale/Catalogs") )
  284.          (if (< (exists (cat "Locale:Catalogs/" #lcat)) 2) (makedir (cat "sys:Locale/Catalogs/" #lcat)) )
  285.          (copylib (source (cat "Catalogs/" #lcat "/AmiFTP.catalog")) (dest (cat "sys:Locale/Catalogs/" #lcat)) )
  286.         )
  287.   
  288.         (
  289.          (if (< (exists (tackon where "Catalogs")) 2) (makedir (tackon where "Catalogs")) )
  290.          (if (< (exists (tackon where (cat "Catalogs/" #lcat)) ) 2) (makedir (tackon where (cat "Catalogs/" #lcat)) ) )
  291.          (copylib (source (cat "Catalogs/" #lcat "/AmiFTP.catalog")) (dest (tackon where (cat "Catalogs/" #lcat)) ) (optional "nofail") )
  292.         )
  293.       )
  294.  
  295.     )
  296.  
  297.     (message (cat "\nCatalogs/" #lcat "/AmiFTP.catalog\n\n" #catnofind))
  298.   )
  299.  
  300.  )
  301. )
  302. ); procedure anothercat
  303.  
  304.  
  305. (while (= NoCat 0)
  306.   (anothercat)
  307.   (set NoCat   (askchoice (choices #yes #no)
  308.                           (prompt #catmore)
  309.                           (help   #catmore)
  310.                           (default 1)
  311.                )
  312.   )
  313. )
  314.  
  315.  
  316.  
  317. ;********************************************************************
  318. ; See if a Config file is needed
  319. ;********************************************************************
  320. (if (> (exists (tackon where "AmiFTP.prefs")) 0) (set prefsfound 1) )
  321. (if (> (exists ("env:HOME")) 0)
  322.   (set home (getenv "HOME")) 
  323.   (set home " ")
  324. )
  325.  
  326. (set ahome (getassign "HOME")) 
  327.  
  328. (if (<> home " ") (if (> (exists (tackon home "AmiFTP.prefs")) 0)  (set prefsfound 1) ) )
  329. (if (<> ahome "") (if (> (exists (tackon ahome "AmiFTP.prefs")) 0)  (set prefsfound 1) ) )
  330. (if (> (exists "ENV:AmiFTP.prefs") 0) (set prefsfound 1) )
  331.  
  332. (set #prefscurr where)  (set #prefshome home) 
  333. (set #prefsuser ahome)  (set #prefsenv "ENV:")
  334.  
  335. (if (= prefsfound 0)
  336.  (
  337.    (set defprefs (askchoice (choices  #instdefprefs #instdefprefsn )
  338.                             (prompt (cat #instprefsfile  #prefscurr "\n" #prefshome "\n" #prefsuser "\n" #prefsenv "\n" #wouldprefs))
  339.                         (help   (cat #instprefsfile  #prefscurr "\n" #prefshome "\n" #prefsuser "\n" #prefsenv "\n" #wouldprefs))
  340.                             (default 0)
  341.                  )
  342.    )
  343.  
  344.  
  345.    (if (= defprefs 0)
  346.     (
  347.      (set putprefs (askchoice (choices  "ENV: & ENVARC:" where home ahome)
  348.                              (prompt #putprefs)
  349.                          (help   #putprefs)
  350.                              (default 0)
  351.                  )
  352.      )
  353.  
  354.      (if (= 0 putprefs) 
  355.         (
  356.          (copyfiles (source "AmiFTP2.prefs") (dest "ENV:") (newname "AmiFTP.prefs") )
  357.          (copyfiles (source "AmiFTP2.prefs") (dest "ENVARC:") (newname "AmiFTP.prefs") )
  358.         )  
  359.      )
  360.  
  361.      (if (= 1 putprefs) (copyfiles (source "AmiFTP2.prefs") (dest where) (newname "AmiFTP.prefs") ) )
  362.      (if (= 2 putprefs) (copyfiles (source "AmiFTP2.prefs") (dest home) (newname "AmiFTP.prefs") ) )
  363.      (if (= 3 putprefs) (copyfiles (source "AmiFTP2.prefs") (dest ahome) (newname "AmiFTP.prefs") ) )
  364.  
  365.     )
  366.    )
  367.  
  368.  )
  369. )
  370.  
  371. ;********************************************************************
  372. ; Ask and and copy docs if wanted!
  373. ;********************************************************************
  374. (set docs (askoptions (choices " AmiFTP.guide" " ReadMe" " History")
  375.               (prompt #whatdocs)
  376.                       (help #whatdocs)
  377.                   (default 7)
  378.       )
  379. )
  380.  
  381. (if (<> docs 0)
  382.  (
  383.    (set docsdir (askdir (prompt #wheredocs)
  384.                (help   #wheredocs)
  385.                     (default amiftpdir)
  386.                 )  
  387.    )
  388.  
  389.    (if (IN docs 0) (copyfiles (source "AmiFTP.guide") (dest docsdir) (infos) (optional "nofail") ) )
  390.    (if (IN docs 1) (copyfiles (source "ReadMe") (dest docsdir) (infos) (optional "nofail") ) )
  391.    (if (IN docs 2) (copyfiles (source "HISTORY") (dest docsdir) (infos) (optional "nofail") ) )
  392.  
  393.    (if (exists "REGISTER")
  394.      (copyfiles (source "REGISTER") (dest docsdir) (infos) (optional "nofail") )
  395.    ) 
  396.  
  397.  )
  398. )
  399.  
  400.  
  401. ;********************************************************************
  402. ; ClassAct Install/Update Default Procedure by:
  403. ; Osma Ahvenlampi - Osma.Ahvenlampi@hut.fi
  404. ;********************************************************************
  405. (working #classact)
  406. ;-----------------------------------------------------------------------------/
  407. ;                                                                            /
  408. ;---------------------------------------------------------------------------/
  409.  
  410.  
  411. ; $VER: Install_ClassAct Update 1.1 (5.11.96)
  412. ; Description: Installer script for ClassAct Class Updates
  413.  
  414. (set cpu (database "cpu"))
  415. (set cpu020 (and (<> cpu "68000") (<> cpu "68010")))
  416. (set v39 (>= (/ (getversion "exec.library" (resident)) 65536) 39))
  417.  
  418. (set #welcome "This program will install the ClassAct shared gadget classes on your system.\n")
  419.  
  420. (complete 0)
  421.  
  422. (if (< (/ (getversion "exec.library" (resident)) 65536) 37)
  423.     (abort "This program requires OS 2.04 or better.")
  424. )
  425.  
  426. ;(welcome #welcome)
  427.  
  428.  
  429. ; ---------------------------------------------------------------------------
  430.  
  431. ; ************* PLEASE COPY THIS PROCEDURE ALONG WITH THE STRINGS IT USES 
  432. ; ************* TO THE INSTALLER SCRIPT OF YOUR CLASSACT APPLICATION.
  433. ; ************* IT WILL TAKE CARE OF INSTALLING THE CLASSACT CLASSES YOU
  434. ; ************* PROVIDED WITH YOUR APPLICATION TO THE USER'S SYSTEM.
  435.  
  436. ; $VER: ClassAct_Install 1.8 (12.10.96) by Osma Ahvenlampi
  437.  
  438. (set cpu (database "cpu"))
  439. (set cpu020 (and (<> cpu "68000") (<> cpu "68010")))
  440. (set v39 (>= (/ (getversion "exec.library" (resident)) 65536) 39))
  441.  
  442. ; percentage of the size of included ClassAct classes versus the whole
  443. ; distribution (ie. total "complete" percentage after ClassAct is installed)
  444.  
  445. (set classact-complete 50)
  446.  
  447. ; ClassAct installer scripts
  448. (if (= @language "español") ; SPANISH CLASSACT INSTALLATION STRINGS 
  449. (
  450. (set #classdest-prompt "Por favor, seleccione el directorio donde desea instalar las clases de ClassAct.\n(Vea la ayuda para más detalles)")
  451. (set #classdest-help (cat "ClassAct es un kit de interface gráfica consistente es clases compartidas BOOPSI.\n\nAlgunos programas requieren que algunas o todas de las clases de ClassAct estén instaladas en su sistema. "
  452.  
  453.     (if v39 (cat "El OS 3.0 tiene un directorio estándar para las clases BOOPSI: el directorio SYS:Classes. Se recomienda que instale ClassAct ahí.")
  454.             (cat "El OS 2.0 no tiene un sitio estándar para las clases BOOPSI residentes en disco. En el OS 3.0 esas clases son almacenadas en el directorio SYS:Classes. Se recomienda que cree este directorio e instale ClassAct ahí.\nEste directorio debe ser añadido a la asignación de LIBS:. Esto puede ser hecho colocando el comando\nAssign >NIL: LIBS: SYS:Classes ADD\nal User-Startup. Este instalador lo hará por usted.")
  455.         )
  456.     )
  457.  
  458. )
  459.  
  460. (set #classes-020 "¿Quiere usar la versión optimizada para OS 3.0 y 020 de ClassAct?")
  461. (set #help-020 "Algunas librerías de ClassAct tienen versiones optimizadas para el uso en máquinas con OS 3.0 y 020 o superior. Si su Amiga es una de tales máquinas debería instalar estas. Las versiones 68000/2.0 también funcionarán, pero son ligeramente más lentas")
  462. (set #noclasses-message "El subdirectorio que seleccionó para sus clases ClassAct no forma parte de la asignación de LIBS:.\n\nEs necesario añadir esta asignación para que las clases puedan ser localizadas adecuadamente.")
  463. (set #creating-dir "Creando directorio ")
  464. (set #usbackup-prompt "Ahora se hará una copia de seguridad del User-Startup.")
  465. (set #usbackup-help "Este instalador hará ahora una modificación en el User-Startup. Antes de hacer esto se hará una copia de seguridad del User-Startup en S:User-Startup.old")
  466. (set #adding-1 "Añadiendo ")
  467. (set #adding-2 "a la asignación de LIBS:\n")
  468. (set #adding-help "Esto es necesario para que las clases puedan ser encontradas.")
  469. (set #junod-button "Parece que tiene el último button.gadget de Comodore ('V42') instalado en su sistema.\n\nEl button.gadget de ClassAct es superior a este gadget y le recomendamos que lo remplace. El button.gadget de ClassAct es compatible con el de Commodore. ¿Desea hacer una copia de seguridad del gadget de Commodore y remplazarlo por la versión de ClassAct?")
  470. (set #junod-backed "Se ha hecho una copia de seguridad del button.gadget 'V42' de Commodore con el nombre button.gadget.v42.\n\nEl button.gadget de ClassAct será instalado en su lugar.")
  471. (set #junod-kept "El button.gadget 'V42' de Commodore no fué remplazado con la versión superior de ClassAct.\n\nLos programas que dependan de la disponibilidad de las características de la versión de ClassAct funcionarán mal probablemente")
  472.  
  473. ;(set #caprefs-message "CAPrefs es una pequeña utilidad que inicializa algunas preferencias del usuario para las aplicaciones ClassAct. Estas incluyen el estilo de resaltado (Fino/GadTools/Xen), relleno de ventanas, y detalles de las etiquetas de grupo.\n\nPor favor, use las preferencias de interface de ClassAct en su cajón de sistema 'Prefs' .\n\n")
  474.  
  475. (set #caprefs-message "ClasAct tiene varios aspectos configurables por el usuario que afectan a la apariencia de las interfaces ClassAct.\n\nEstos ajustes pueden ser modificados usando la herramienta de preferencias de ClassAct que será instalada en su cajón 'Prefs'.\n\nUna pequeña herramienta, CAPrefs, será añadida a su user-startup para cargar los ajustes al arrancar.")
  476. (set #caprefs-startup-1 "Añadiendo el comando\n\n")
  477. (set #caprefs-startup-2 "\n\nA su s:User-Startup.")
  478. (set #decompressing-classact "Distribución de Classact comprimida detectada\n\nDescomprimiendo a RAM:")
  479. (set #deleteing-cltmp "Borrando ficheros temporales")
  480.  
  481. )
  482.  
  483. ; ENGLISH CLASSACT INSTALLATION STRINGS
  484.  
  485. (
  486. (set #classdest-prompt "Please select the directory where you want the ClassAct classes installed.\n(See help for details)")
  487. (set #classdest-help (cat "ClassAct is a GUI toolkit consisting of shared BOOPSI classes.\n\nSome programs require some or all of the ClassAct classes installed on your system. "
  488.  
  489.     (if v39 (cat "OS 3.0 has a standard directory for BOOPSI classes, the SYS:Classes directory. It is recommended that you install ClassAct there.")
  490.             (cat "OS 2.0 does not have a standard place for disk resident BOOPSI classes. On OS 3.0 these classes are stored in the SYS:Classes directory. It is recommended that you create this directory and install ClassAct there.\nThis directory must be added in the LIBS: assign. This can be done by placing the command\nAssign >NIL: LIBS: SYS:Classes ADD\nto User-Startup. This installer will do this for you.")
  491.         )
  492.     )
  493.  
  494. )
  495.  
  496. (set #classes-020 "Do you want to use the OS 3.0, 020 optimised version of ClassAct?")
  497. (set #help-020 "Some ClassAct libraries have versions optimised for use on 020 or better equipped OS 3.0 or later machines. If your Amiga is such equipped, you should install these. The 68000/2.0 versions will also work, but are slightly slower.")
  498. (set #noclasses-message "The directory you selected for your ClassAct classes is not a part of the LIBS: assign.\n\nIt is necessary to add this assign so that the classes will be found properly.")
  499. (set #creating-dir "Creating directory ")
  500. (set #usbackup-prompt "User-Startup will now be backed up.")
  501. (set #usbackup-help "This installer will next make a modification in User-Startup. Before doing this the old User-Startup will be backed up to S:User-Startup.old")
  502. (set #adding-1 "Adding ")
  503. (set #adding-2 " to LIBS: assign\n")
  504. (set #adding-help "This is necessary so that the custom classes can be found.")
  505. (set #junod-button "It seems you have a late Commodore 'V42' button.gadget installed on your system.\n\nClassAct's button.gadget is far more capable than this gadget, and we recommend that you replace it. The ClassAct button.gadget is backwards compatible to the Commodore gadget. Do you wish to back up the Commodore gadget and replace it with the ClassAct version?")
  506. (set #junod-backed "The Commodore 'V42' button.gadget has been backed up with the name button.gadget.v42.\n\nThe ClassAct button.gadget will be installed in its place.")
  507. (set #junod-kept "The Commodore 'V42' button.gadget was not replaced with the more capable ClassAct version.\n\nPrograms depending on the availability of ClassAct-only features will be likely to work wrong.")
  508.  
  509. ;(set #caprefs-message "CAPrefs is a small utility that sets some user preferences for ClassAct applications. These include the bevel style (Thin/Gadtools/Xen), window backfills, and group label details.\n\nPlease use the ClassAct GUI prefs editor to alter the default settings provided. ClassAct prefs will be installed in your system Prefs drawer.\n\n")
  510.  
  511. (set #caprefs-message "ClassAct has several user-configurable aspects that affect the look of ClassAct interfaces.\n\nThese settings can be changed using the ClassAct preferences tool that will be installed in yout Prefs drawer.\n\nA small tool, CAPrefs, will be added to your user-startup to load the settings on reboot.")
  512. (set #caprefs-startup-1 "Adding the command\n\n")
  513. (set #caprefs-startup-2 "\n\nTo your s:User-Startup.")
  514. (set #decompressing-classact "Compressed ClassAct distribution detected\n\nDecompressing to RAM:")
  515. (set #deleting-cltmp "Deleting temporary files")
  516.  
  517. )
  518. )
  519.  
  520. (procedure install-classact ; call this procedure to copy the classes included in the Classes directory
  521. ; in your distribution dir.
  522.  
  523.     (if (exists "ClassAct.lha")    ; ClassAct is compressed - need to decompress first
  524.         (                        ; Distribution includes LHEX
  525.             (working (cat #decompressing-classact))
  526.  
  527. ; ClassAct.lha contains paths/files "Classes/*", "C/CheckAssign", "Prefs/CAPrefs" and "Prefs/ClassAct"
  528.  
  529.             (run "lhex -aqfw=ram:ClassAct/ x ClassAct.lha")
  530.             (set @classact-source "RAM:ClassAct")
  531.         )
  532.         (set @classact-source (pathonly @icon))
  533.     )
  534.     (if (exists "ClassAct.lzx")    ; ClassAct is compressed - need to decompress first
  535.         (                        ; Distribution includes UNLZX
  536.             (working (cat #decompressing-classact))
  537.  
  538. ; ClassAct.lzx contains paths/files "Classes/*", "C/CheckAssign",  "Prefs/CAPrefs" and "Prefs/ClassAct"
  539.  
  540.             (run "unlzx -amq x ClassAct.lzx ram:ClassAct/")
  541.             (set @classact-source "RAM:ClassAct")
  542.         )
  543.         (set @classact-source (pathonly @icon))
  544.     )
  545.  
  546.     (if (exists (tackon @classact-source "Classes")) ; The archive contains a ClassAct library update.
  547.     (
  548.         (set comp-dest  (/ (* classact-complete 2) 10))
  549.         (set comp-libs  (/ (* classact-complete 3) 10))
  550.         (set comp-dirs  (/ (* classact-complete 4) 10))
  551.         (set comp-junod (/ (* classact-complete 5) 10))
  552.         (set comp-020   (/ (* classact-complete 6) 10))
  553.         (set comp-gad   (/ (* classact-complete 7) 10))
  554.         (set comp-im    (/ (* classact-complete 8) 10))
  555.         (set comp-prefs (/ (* classact-complete 9) 10))
  556.     
  557.         ; has the user installed ClassAct in CLASSACT: ?
  558.         (set @classact-dest (getassign "CLASSACT" "A"))
  559.         (if (= @classact-dest "") (set @classact-dest "SYS:Classes"))
  560.         
  561.         ; is ClassAct already in SYS:Classes ?
  562.         (if (or (not (exists (tackon @classact-dest "Gadgets/layout.gadget") (noreq)))
  563.                 (= @user-level 2))
  564.             ; no, ask where it should be placed
  565.             (set @classact-dest
  566.                 (askdir
  567.                     (prompt #classdest-prompt)
  568.                     (help #classdest-help)
  569.                     (default @classact-dest)
  570.                     (newpath)
  571.                 )
  572.             )
  573.         )
  574.         
  575.         (complete comp-dest)
  576.         
  577.         (if (<> (run (cat (tackon @classact-source "C/CheckAssign") " LIBS: " @classact-dest)) 0)
  578.             (
  579.                 (message #noclasses-message)
  580.                 (if (not (exists @classact-dest))
  581.                     (makedir @classact-dest (prompt (cat #creating-dir @classact-dest)))
  582.                 )
  583.                 (set @addassign (cat "Assign >NIL: LIBS: " @classact-dest " ADD\n"))
  584.                 (startup "CLASSACT"
  585.                     (command @addassign)
  586.                     (prompt (cat #adding-1 @classact-dest #adding-2))
  587.                     (help #adding-help)
  588.                 )
  589.                 (run (@addassign))
  590.             )
  591.         )
  592.         
  593.         (complete comp-libs)
  594.         
  595.         (set @classact-gadgets (tackon @classact-dest "Gadgets"))
  596.         (set @classact-images (tackon @classact-dest "Images"))
  597.         
  598.         (if (not (exists @classact-gadgets (noreq)))
  599.             (makedir @classact-images
  600.                 (prompt (cat #creating-dir @classact-gadgets))
  601.             )
  602.         )
  603.         
  604.         (if (not (exists @classact-images (noreq)))
  605.             (makedir @classact-images
  606.                 (prompt (cat #creating-dir @classact-images))
  607.             )
  608.         )
  609.         
  610.         (complete comp-dirs)
  611.         
  612.         (if (exists "SYS:Classes/Gadgets/button.gadget")
  613.             (if (and (= 2752514 (getversion "SYS:Classes/Gadgets/button.gadget"))
  614.                     (= 4868 (getsize "SYS:Classes/Gadgets/button.gadget")))
  615.                 (if (askbool (prompt #junod-button) (help @askbool-help) (default 1))
  616.                     (
  617.                         (rename "SYS:Classes/Gadgets/button.gadget" "SYS:Classes/Gadgets/button.gadget.v42")
  618.                         (message #junod-backed)
  619.                     )
  620.                     (message #junod-kept)
  621.                 )
  622.             )
  623.         )
  624.         
  625.         (complete comp-junod)
  626.         
  627.         (if (and (and cpu020 v39) (exists (tackon @classact-source "Classes/Gadgets/layout.gadget.020")))
  628.             (set classes-020 (askbool (prompt #classes-020) (help #help-020) (default 1)))
  629.             (set classes-020 0)
  630.         )
  631.  
  632.         (complete comp-020)
  633.         
  634.         (set @source-path (tackon @classact-source "Classes/Gadgets"))
  635.         (foreach @source-path "#?.gadget"
  636.             (
  637.                 (set thislib (tackon @source-path @each-name))
  638.                 (if (and classes-020 (exists (cat thislib ".020")))
  639.                     (set thislib (cat thislib ".020"))
  640.                 )
  641.                 (copylib (source thislib)
  642.                     (dest @classact-gadgets)
  643.                     (newname @each-name)
  644.                     (prompt (cat #installing @each-name))
  645.                     (help #classdest-help)
  646.                     (optional "force" "askuser")
  647.                 )
  648.             )
  649.         )
  650.         
  651.         (complete comp-gad)
  652.         
  653.         (set @source-path (tackon @classact-source "Classes/Images"))
  654.         (foreach @source-path "#?.image"
  655.             (
  656.                 (set thislib (tackon @source-path @each-name))
  657.                 (if (and classes-020 (exists (cat thislib ".020")))
  658.                     (set thislib (cat thislib ".020"))
  659.                 )
  660.                 (copylib (source thislib)
  661.                     (dest @classact-images)
  662.                     (newname @each-name)
  663.                     (prompt (cat #installing @each-name))
  664.                     (help #classdest-help)
  665.                     (optional "force" "askuser")
  666.                 )
  667.             )
  668.         )
  669.         
  670.         (complete comp-im)
  671.  
  672.         (set @source-path (tackon @classact-source "Classes"))
  673.         (foreach @source-path "#?.class"
  674.             (
  675.                 (set thislib (tackon @source-path @each-name))
  676.                 (if (and classes-020 (exists (cat thislib ".020")))
  677.                     (set thislib (cat thislib ".020"))
  678.                 )
  679.                 (copylib (source thislib)
  680.                     (dest @classact-dest)
  681.                     (newname @each-name)
  682.                     (prompt (cat #installing @each-name))
  683.                     (help #classdest-help)
  684.                     (optional "force" "askuser")
  685.                 )
  686.             )
  687.         )
  688.     )
  689.     )
  690.     (if (exists (tackon @classact-source "Prefs/ClassAct")) ; The archive contains ClassAct prefs tools
  691.     (
  692.         (message #caprefs-message)
  693.         
  694.         (copylib (source (tackon @classact-source "Prefs/CAPrefs")) 
  695.             (dest "C:") 
  696.             (prompt (cat #installing "CAPrefs"))
  697.         )
  698.         (copylib (source (tackon @classact-source "Prefs/ClassAct"))
  699.             (dest "SYS:Prefs")
  700.             (prompt (cat #installing "ClassAct Prefs"))
  701.             (infos)
  702.         )
  703.         
  704.         (complete comp-prefs)
  705.         
  706.         (if (not (exists "ENVARC:ClassAct" (noreq)))
  707.             (
  708.                 (makedir "ENVARC:ClassAct"
  709.                     (prompt (cat #creating-dir "ENVARC:ClassAct"))
  710.                 )
  711.                 (textfile (dest "ENVARC:ClassAct/ClassAct")
  712.                     (append "")
  713.                 )
  714.             )
  715.         )
  716.         (set caprefs-cmd "C:CAPrefs >NIL:\n")
  717.  
  718.         (startup "CAPREFS"
  719.             (prompt (cat #caprefs-startup-1 caprefs-cmd #caprefs-startup-2))
  720.             (help #caprefs-message)
  721.             (command caprefs-cmd)
  722.         )
  723.     )
  724.     )
  725.     
  726.     (if (exists "ClassAct.lha")
  727.         (delete "RAM:ClassAct" (all)
  728.             (prompt #deleting-cltmp)
  729.         )
  730.     )
  731.  
  732.     (complete classact-complete) )
  733.  
  734. ; ************** END OF CLASSACT INSTALL PROCEDURE. COPY THE BLOCK ABOVE
  735. ; ************** TO YOUR CLASSACT APPLICATION INSTALLER.
  736.  
  737. ; ---------------------------------------------------------------------------
  738.  
  739.  
  740.  
  741. ;-----------------------------------------------------------------------------/
  742. ;                                                                            /
  743. ;---------------------------------------------------------------------------/
  744.  
  745. ;Call ClassAct Procedure _IF_ set todo so!
  746. (if (= install-CA 1)
  747.    (install-classact)
  748. )
  749.  
  750. ;********************************************************************
  751. ; Check on New installer 
  752. ;********************************************************************
  753. (set InstallerVer 0)
  754. (set vernum1 @installer-version) (set ver1 (/ vernum1 65536)) 
  755. (set rev1 (- vernum1 (* ver1 65536) ) ) (set InstallerVer (cat ver1 "." rev1))
  756. (set current_installer "43.3")
  757. (if (< InstallerVer current_installer) (message #updateinstaller) )
  758.  
  759. ;********************************************************************
  760. ; End Bye 
  761. ;********************************************************************
  762. (set @default-dest where)
  763. (exit #byebye)
  764.